package com.szly.phm.common.service;



import com.baomidou.mybatisplus.extension.service.IService;
import com.szly.phm.common.entity.dto.role.CreateRoleDTO;
import com.szly.phm.common.entity.dto.role.RolePageDTO;
import com.szly.phm.common.entity.dto.role.RolePermissionDTO;
import com.szly.phm.common.entity.dto.role.UpdateRoleDTO;
import com.szly.phm.common.entity.dto.user.LoginUserDTO;
import com.szly.phm.common.entity.po.SysRole;
import com.szly.phm.common.entity.result.RootResponse;
import com.szly.phm.common.entity.vo.login.LoginRoleVO;
import com.szly.phm.common.entity.vo.role.RolePermissionVO;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author admin
 * @since 2021-07-02
 */
public interface ISysRoleService extends IService<SysRole> {

    List<LoginRoleVO> queryRolesByUserId(String userId);

    //分页查询角色
    RootResponse queryRolePage(RolePageDTO roleDTO);

    //添加角色
    RootResponse createRole(CreateRoleDTO roleDTO, LoginUserDTO userDTO);

    //编辑角色
    RootResponse updateRole(UpdateRoleDTO roleDTO, LoginUserDTO userDTO);

    //删除角色
    RootResponse deleteRole(String id, LoginUserDTO userDTO);

    //查询角色权限
    RootResponse<RolePermissionVO> queryRolePermissions(String roleId);


    //分配权限
    RootResponse createAssignPermissions(RolePermissionDTO roleDTO, LoginUserDTO userDTO);
    RootResponse treePermission();

}
